计算机与生活的艺术
Search
CTRL + K
计算机与生活的艺术
Search
CTRL + K
01 车载技术
AUTOSAR 入门教程之 Crypto Stack
AUTOSAR 入门教程之 Gateway
AUTOSAR 入门教程之 MemStack(一)
AUTOSAR 入门教程之 Watchdog Services
AUTOSAR 入门教程之基础篇一
AUTOSAR 入门教程之基础篇二
CAN 帧 ID 详解:优先级、仲裁与 DBC 协议
CANoe 学习方案设计
CANoe 推荐的工程结构
Classic AutoSAR Det 调试技巧
DTC 故障码分类说明
EB Classic AUTOSAR 使用指南
ETAS Adaptive AUTOSAR 技术细节剖析
ETAS Adaptive AUTOSAR 简介
IAR 烧写芯驰 E3 该如何配置
Linux 与 Windows 目录的差异在哪里?
Linux 包管理工具 aptitude 教程
Linux 文件属性
Linux 是怎样工作的
lwIP 快速入门指南
MAC 层解决了什么问题?
MCU 的最小系统理论
NvM 模块架构指南
NXP S32G 以太网加速模块(PFE)简介
RAM 与 FLASH 存储器:特性对比及应用边界
RTOS 是如何实现双核 MCU 消息通信的?
S32G CAN_43_LLCE 调试经验总结
UDS 入门指南
UDS 协议零基础入门指南
UDS 请求及响应格式
vsomeip 从入门到精通
一张图看懂 UDS 协议栈的 ISO 标准分工
中间件开发中的 Linux 基础命令
中间件开发中的 Linux 高级命令
为什么要用外部闪存?
为什么需要关中断?
什么是 CAN Controller?
从零开始 AUTOSAR 软件架构
内存管理在智驾中间件中的实践
剖析 UDS 诊断帧
多核处理器:同构与异构的硬件设计及软件实现
如何入门嵌入式?
如何利用 DaVinciConfigurator 插件集成 EB
如何掌握所有外设的开发
如何替换 Vector SIP 包的 CAN 模块
如何理解 AUTOSAR 核心思想?
如何理解寄存器?
嵌入式外设配置指南
揭秘 AUTOSAR:现代汽车背后的智能模块化架
搭建 RTSP 视屏推拉流
汽车软件开发的基石:AUTOSAR 深度报告
汽车里的微型计算机:一文看懂MCU与ECU的区别与联系
深入理解 CAN 总线:从数据帧结构到 ID 分配策略
深入解读 DoIP 协议
深入解读 SOMEIP 协议
深入解读车载时间同步
激光雷达基础知识
激光雷达环境干扰的系统分析
真实 DoIP 诊断通信报文记录:从车辆声明到诊断功能激活
程序启动代码做了什么?
简析 XCP 协议原理
编译器、链接器、调试器:构建项目最小文件集
聊聊 Classic AUTOSAR BSW 是如何分层的?
聊聊事件驱动架构
芯驰 E3 PWM 配置指南
芯驰 E3 启动及升级机制详解
芯驰 E3 国产 Flash 替换指南
表驱动法和状态机架构深入解析
解密现代汽车的神经系统:KL30 和 KL15 电源管理与网络通信的智能协同
计算机如何工作:冯·诺伊曼模型
讲讲 Linux 动态库显式加载函数
谈 Adaptive AutoSAR 运行管理
谈 RTOS 软件开发理论
谈单片机软件架构
谈谈 SOMEIP 和 DDS 的差异在哪里?
谈静态动态库和显式隐式加载
车载信息安全工具清单
通信中间件 SOMEIP 与 DDS 部署方案
通信协议和中间件的演进和未来
零基础入门链接脚本
静态库和动态库的编译和使用教程
02 软件开发
C 模块化设计指南:接口与实现的清晰分离
C++ Builder 6 编译错误:E2075 Incorrect project override option
IP 地址演进:从 IPv4 分类到 CIDR 与 IPv6
Learn Racket in Y Minutes
Linux 上使用 Androidstudio 时启动模拟器报错
OB 自动推送公众号插件实现分析
Racket Package 创建与发布指南
URL 原理与设计:从互联网地址到 REST API 的完整理解
”更坏就是更好“的崛起
为什么手机上的网页总是不如原生应用顺手?
从蓝牙耳机的演进聊聊软硬件结合的重要性
使用 AI 的正确姿势:程序员的心智指南
前端小白入门 Electron 系列(一):如何搭建开发环境
十年学会编程
原型设计和 UI 设计是什么?
基于 Racket 的 To-Do List 工具 RReminder
基本算法实现之递推
基本算法思想之分治
基本算法思想之概率
基本算法思想之穷举法
如何将 Racket 嵌入到 Swift 项目?
如何摆脱学习焦虑:程序员的专注之道
如何理解 UML 类图
如何设置 Racket 开源项目 ActivityLog2 的环境
如何设计数据结构
我到底学会了 Web 开发吗?
探究 GCC、LLVM 和 Clang 的渊源
深入理解并发进程
程序员提问指南:如何让 AI 成为你的真正副手
粘包是错误的说法
编程生涯
🚀 程序员的算法修炼路线
03 编程语言与理论
C++ 关键概念与实战解析
Lisp 之美:REPL
Lisp 操作系统
Racket 列表、向量、集合入门指南
Racket 命名风格指南
Racket 模块入门指南
Racket 编程入门:0、介绍
Racket 语言入门与实践
Racket 语言:一门用于设计和实现编程语言的语言
Racket:一门用于创造新语言的语言
Scheme 元编程
Scheme 语言足够用于产品开发
为什么我用 Lisp 编程
什么是函数式编程?
你是如何成为 Lisp 程序员的?
假如你来发明编程语言
函数式编程才是计算的本质
如果 Lisp 如此伟大?
数学家系列:从玩具陀螺到终极理论
数学家系列:小朋友的涂鸦
数学家系列:希尔伯特之梦,以及梦的破灭
数学家系列:数和符号的轨迹:2020年阿贝尔奖解析
数学家系列:有限单群:一段百年征程
数学家系列:素数并不孤独
数学家系列:纳什:无常命运中的美丽心灵
数学家系列:解构与复原:望月新一与他的证明
梦寐以求的语言
深入 Racket GUI 编程:从命令式到声明式
深入 Racket Web 编程:从有状态到无状态的范式转换
符号与机器(一):符号:抽象、语义
符号与机器(三):图灵机的解释
符号与机器(二):符号,计算抽象
符号与机器(五):重新发明 Lambda 演算
符号与机器(四):寻找扫地机🧹
编程范式简介
聊聊面向对象的本质
语言与机器
谈包与命名空间的作用
谈变量的类型
谈符号表达式
谈词法闭包
04 工具与实用教程
Obsidian 的 Callout 使用场景
UNRAID 部署 DDNS 之 DNSPod
Windowser or Linuxer
博客同步至腾讯云开发者社区
如何开启 Ubuntu RDP 远程桌面
如何用 Obsidian 优雅地写博客?
我的 Obsidian 设置和使用教程
我的 Surge 配置和使用教程
新手入门 3D 打印:如何选材
新手入门 3D 打印:底板选择与保养
新手入门 3D 打印:耗材保存
记录微软输入法的两个神奇功能
谈谈那些我常用的 NAS 服务
配置你的专属 Deepin
配置你的专属 Manjaro-i3wm
05 生活随笔
云南香格里拉蜜月旅行 14 天攻略
完美主义的一些反思
揭秘公司压薪套路
杭州西湖周末旅游攻略
特斯拉焕新款 Model 3 配件攻略
电煮锅制作鸡爪煲
行动力才是我们最缺乏的东西
隐形降薪与绩效扣发:员工应对策略分析
高压锅制作银耳羹
06 副业实战
AI 时代的网站重构思考
在 Digital Garden 博客中添加 Google AdSense
如何给博客添加 Google Adsense
开展副业前,你必须懂互联网赚钱逻辑
流量型副业在生成式 AI 时代的思考
知识型生产力与个人价值:AI 时代的思考
07 人工智能
2025 年全球 AI 大模型参考手册:顶级公司与核心模型
2025 年大型语言模型核心技术应用指南:从对话到深度应用
Claude Code 使用指南:安装、配置与实践
Claude 现已在 Xcode 中正式发布
Gemini CLI 使用指南:安装、配置与实践
iFlow CLI 实践指南:配置、命令与项目开发流程
MCP 入门指南:让 AI 接上“超级网线”
人工智能发展史:从符号推理到大语言模型的技术演进
如何免费体验 Claude Code:国内用户完整指南
如何提升 AI 开发效率:Claude Code 使用准则
打破AI数据孤岛!Anthropic开源革命性模型上下文协议MCP
本地部署大模型需要多强的机器?——从 Mac 到显卡工作站的全景指南
主页
付费
简历
DTC 故障码分类说明
#BDStar
#AUTOSAR
#UDS
故障码包括四个大类,分别是 PCBU。
P 是 Powertrain 动力系统
C 是 Chasis 底盘
B 是 Body 车身
U 是 Network 通信系统
一个 DTC 信息占用 4 个字节,最后一个字节是 DTC 的状态,前两个字节是我们熟知的类似 P0047 的故障码